Я все перепробовал.Ничего не получается.
При отработке такого скрипта:
open(LG,">>/etc/test/test_sms");
while ($var=<stdin>){
if ($var eq "\n")
{
$flag="readbody";
}
if ($flag eq "readbody")
{
push (@body, $var);
}
print LG $var;
}
print LG @body;
close(LG);
ДАже файл не создается!!
Такое ощущение что stdin вобще не читается.
Почта точно перенаправляется на скрипт. Она точно не остается в ящике
пользователя.Помогите!! Я уже не знаю за что братся!!Может дало в настройках FreeBSD?
>Я все перепробовал.Ничего не получается.
>При отработке такого скрипта:
>open(LG,">>/etc/test/test_sms");
>while ($var=<stdin>){
> if ($var eq "\n")
> {
> $flag="readbody";
> }
> if ($flag eq "readbody")
> {
> push (@body, $var);
> }
>print LG $var;
>}
>print LG @body;
>close(LG);
>ДАже файл не создается!!
>Такое ощущение что stdin вобще не читается.
>Почта точно перенаправляется на скрипт. Она точно не остается в ящике
>пользователя.
>
>Помогите!! Я уже не знаю за что братся!!Может дало в настройках FreeBSD?
>попробуй: cat какое_нибудь_письмо | твой_скрипт
Кстати, зачем в /etc писать? Есть же /tmp или /home/youraccount наконец.
>>Я все перепробовал.Ничего не получается.
>>При отработке такого скрипта:
>>open(LG,">>/etc/test/test_sms");
>>while ($var=<stdin>){
>> if ($var eq "\n")
>> {
>> $flag="readbody";
>> }
>> if ($flag eq "readbody")
>> {
>> push (@body, $var);
>> }
>>print LG $var;
>>}
>>print LG @body;
>>close(LG);
>>ДАже файл не создается!!
>>Такое ощущение что stdin вобще не читается.
>>Почта точно перенаправляется на скрипт. Она точно не остается в ящике
>>пользователя.
>>
>>Помогите!! Я уже не знаю за что братся!!Может дало в настройках FreeBSD?
>>
>
>попробуй: cat какое_нибудь_письмо | твой_скрипт
>
>Кстати, зачем в /etc писать? Есть же /tmp или /home/youraccount наконец.test.pl
#/usr/bin/perl
stop: while(<>){last stop if /^\n/;}while(<>){print;}exit 0;cat что-нибудь | test >> куда-нибудь
Зы: не проверял
>попробуй: cat какое_нибудь_письмо | твой_скрипт
>
>Кстати, зачем в /etc писать? Есть же /tmp или /home/youraccount наконец.
Попробовал. Пишет собака вот что:
Use of uninitialized value at ./al.pl line такаято, <STDIN> chunk такойто.Чего делать то с этим?Как это лечить?
open(LG,">/tmp/test_sms") || die$!;
while(<>)
{
next if /^\n/;
print LG || die$!;
}
close(LG) || die$!;
мой всяко круче
не, вот так:open(LG,">/tmp/test_sms") || die$!;
while(<>)
{
last if /^\n/;
}
print LG while(<>);
close(LG) || die$!;
не круче а изящнее :-)
>не круче а изящнее :-)open(LG,">/tmp/test_sms") || die$!;
А что будет, если несколько процессов будут одновременно писать в это файл ?
>>не круче а изящнее :-)
>
>open(LG,">/tmp/test_sms") || die$!;
>
>А что будет, если несколько процессов будут одновременно писать в это файл
>?реализовать через lock файл