#!/usr/bin/perl -w # script to send sms's with gsmqueue.pl. # script copies message from STDIN to /var/gsm/out directory # where the gsmqueue.pl script reads and sends them. # number can be either in STDIN or be given as first parameter for # script. # # example: # # echo "MESSAGE"|sendsms.pl 0407431234553 # # or number in file: # # (a.txt contains following text:) # NUMBER: 0407431234553 # MESSAGETEXT IS HERE # # cat a.txt|sendsms.pl # my $number=""; my $message=""; my $outfolder = "/var/gsm/out"; if ($ARGV[0]) {$number=$ARGV[0];} while () { if (/^NUMBER:/ && $number eq "") { chomp; $number = $_; $number =~ s/NUMBER//g; $number =~ s/://g; $number =~ s/\s//g; } else { $message .= $_ ; } } # Send only if we have values for both number and if ($message ne "" && $number ne "") { my $tempfile=`mktemp $outfolder/sendsms.out.XXXXXX`; open T, ">$tempfile" || die "Cannot create tempfile ($outfolder/sendsms.out.XXXXXX) : $_"; print T "NUMBER: $number\n$message"; close T; }