webForumDet fria alternativet

Pattern matching...

Perl & Ruby

2 svar · 378 visningar · startad av Muzzafarath

Medlem sedan apr. 20002 487 inlägg
Frågan#1

Okej, så här är det. I $ENV{'HTTP_USER_AGENT'} ligger ju vilken browser som surfaren använder. Med den följer en massa information som jag inte behöver (versions-nummer, OS, osv). Det jag vill göra det är att göra ett Perl script som känner igen vilken browser som används.

För att göra detta behöver jag något sätt att leta upp t.ex "Mozilla" eller "MSIE" i $ENV{'HTTP_USER_AGENT'}. Problemet är att jag inte vet hur man använder pattern matching i if-satser. Nån som fattar vad jag babblar om ;)?

if($ENV{'HTTP_USER_AGENT'} innehåller "Mozilla")
{
$browser = "Netscape";
}

elsif($ENV{'HTTP_USER_AGENT'} innehåller "MSIE")
{
$browser = "Internet Explorer";
}

elsif($ENV{'HTTP_USER_AGENT'} innehåller "Opera")
{
$browser = "Opera";
}

/. Muzzafarath

[Redigerat av Muzzafarath den 19 jun 2000]

Medlem sedan juni 20004 308 inlägg
#2
if($ENV{'HTTP_USER_AGENT'} =~ /mozilla/i)

i för case-Insensitive. Egentligen är det uttrycket m// som används, men eftersom det är så vanligt accepterar perl även //.

------------------

/ J

[Redigerat av Jojoxx den 19 jun 2000]

Medlem sedan apr. 20002 487 inlägg
#3

Tack så mycket Jojoxx.

/. Muzzafarath

246 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)