---
title: "IRCstats och smileys?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/131314-ircstats-och-smileys"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "Tengblad"
published: "2005-07-12T15:20:05.000Z"
updated: "2005-07-15T10:38:09.000Z"
replies: 11
views: 665
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/webbutveckling/131314-ircstats-och-smileys"
---

# IRCstats och smileys?

## #1 — Tengblad, 2005-07-12T15:20Z

Vi som sitter och leker i #webforum har just skaffat oss lite stats (igen). Nu kör vi med [Pisg](http://pisg.sourceforge.net) som är ett perl-baserat script för att läsa loggfiler och generera statistik. En del i statistiken är hur ofta smileys används i kanalen, men alla smileys som vi använder känns inte igen och jag blir inte klok på hur jag fixar detta.

```
# Who smiles the most?
                    my $e = '[8;:=%]'; # eyes
                    my $n = '[-oc*^]'; # nose
                    # smileys including asian-style (^^ ^_^' ^^; \o/)
                    if ($saying =~ /(>?$e'?$n[\)pPD\}\]>]|[\(\{\[<]$n'?$e<?|[;:]\)|\([;:]|\^[_o-]*\^[';]|\\[o.]\/)/o) {
                        $stats->{smiles}{$nick}++;
                        $stats->{smileys}{$1}++;
                        $stats->{smileynicks}{$1} = $nick;
                    }

                    # asian frown: ;_;
                    if ($saying =~ /($e'?$n[\(\[\\\/\{|]|[\)\]\\\/\}|]$n'?$e|[;:]\(|\):|;_+;|T_+T|-[._]+-)/o and
                        $saying !~ /\w+:\/\//o) {
                        $stats->{frowns}{$nick}++;
                        $stats->{smileys}{$1}++;
                        $stats->{smileynicks}{$1} = $nick;
                    }
```

 

Smileys som vi bl.a vill ska kännas igen:

```
:o :O :OO  :e :p :P §e :D
```

 Hur får jag till detta?

/red Försökte få bara text för smileys inom kodtaggen men funka inget vidare.

/red2 Nuså, tack Peeer ;)

Permalänk: https://www.webforum.nu/p/131314

## #2 — Tengblad, 2005-07-13T16:41Z

Ingen som känner sig manad :(

Permalänk: https://www.webforum.nu/p/1645576

## #3 — Jojoxx, 2005-07-14T16:24Z

Vi försöker i [Reguljära uttryck](http://www.webforum.nu/forumdisplay.php?s=&forumid=214).

Permalänk: https://www.webforum.nu/p/1645949

## #4 — pettsson, 2005-07-14T17:04Z

Ändra dessa rader:

```
my $e = '[§8;:=%]';
my $n = '[-oc*^]';
if ($saying =~ /(>?$e'?$n?([\)opPD\}\]>]|O{2})|[\(\{\[<]$n?'?$e<?|[;:]\)|\([;:]|\^[_o-]*\^[';]|\\[o.]\/)/o) {
    $stats->{smiles}{$nick}++;
    $stats->{smileys}{$2}++;
    $stats->{smileynicks}{$2} = $nick;
}
```

Detta ska acceptera smilies från :) till \>§'\*OO, jag förutser att den senare kommer bli en stor framgång pga sitt kompakta format och lätt ihågkommna teckensekvens :OO

Permalänk: https://www.webforum.nu/p/1645957

## #5 — Tengblad, 2005-07-14T17:32Z

> **pettsson skrev:**
>
> Ändra dessa rader:
>
>
> ```
> my $e = '[§8;:=%]';
> my $n = '[-oc*^]';
> if ($saying =~ /(>?$e'?$n?([\)opPD\}\]>]|O{2})|[\(\{\[<]$n?'?$e<?|[;:]\)|\([;:]|\^[_o-]*\^[';]|\\[o.]\/)/o) {
>     $stats->{smiles}{$nick}++;
>     $stats->{smileys}{$2}++;
>     $stats->{smileynicks}{$2} = $nick;
> }
> ```
>
> 
> Detta ska acceptera smilies från :) till \>§'\*OO, jag förutser att den senare kommer bli en stor framgång pga sitt kompakta format och lätt ihågkommna teckensekvens :OO

Det där funka inget vidare. Den enda han klara av att känna igen nu var :( dvs det blev sämre än innan.

Permalänk: https://www.webforum.nu/p/1645963

## #6 — pettsson, 2005-07-14T18:39Z

Nämenvaf, Den funkar för mig...
Pröva med detta ($e och $n insatta)

```
(>?[§8;:=%]'?[-oc*^]?([\)opPD\}\]>]|O{2})|[\(\{\[<][-oc*^]?'?[§8;:=%]<?|[;:]\)|\([;:]|\^[_o-]*\^[';]|\\[o.]\/)
```

Permalänk: https://www.webforum.nu/p/1645976

## #7 — Tengblad, 2005-07-14T19:44Z

> **pettsson skrev:**
>
> Nämenvaf, Den funkar för mig...
> Pröva med detta ($e och $n insatta)
>
>
> ```
> (>?[§8;:=%]'?[-oc*^]?([\)opPD\}\]>]|O{2})|[\(\{\[<][-oc*^]?'?[§8;:=%]<?|[;:]\)|\([;:]|\^[_o-]*\^[';]|\\[o.]\/)
> ```

De vill sig inte heller :(

```
C:\Program Files\pisg>perl pisg
pisg v0.66 - Perl IRC Statistics Generator

Using config file: pisg.cfg

Statistics for channel #webforum @ DALnet by FarbrorBarbro

Using language template: SE

String found where operator expected at modules//Pisg/Parser/Logfile.pm line 409
, near "$e'?$n[\(\[\\\/\{|]|[\)\]\\\/\}|]$n'"
        (Missing operator before '?$n[\(\[\\\/\{|]|[\)\]\\\/\}|]$n'?)
Backslash found where operator expected at modules//Pisg/Parser/Logfile.pm line
409, near "]\"
        (Missing operator before \?)
Could not load stats analyzer for 'Logfile': syntax error at modules//Pisg/Parse
r/Logfile.pm line 409, near "if ($saying =~ /("
  (Might be a runaway multi-line // string starting on line 402)
syntax error at modules//Pisg/Parser/Logfile.pm line 409, near "+;"
syntax error at modules//Pisg/Parser/Logfile.pm line 453, near "elsif"
Compilation failed in require at (eval 8) line 1.
BEGIN failed--compilation aborted at (eval 8) line 1.
```

Permalänk: https://www.webforum.nu/p/1646004

## #8 — pettsson, 2005-07-14T19:59Z

Det är möjligt att ':ar tolkas på något sätt som inte görs i min editor (ConTEXT). Ska det finnas några ' i smilies? Om det ska det, pröva att ersätta ' med \\'

Permalänk: https://www.webforum.nu/p/1646012

## #9 — Tengblad, 2005-07-14T21:15Z

> **pettsson skrev:**
>
> Det är möjligt att ':ar tolkas på något sätt som inte görs i min editor (ConTEXT). Ska det finnas några ' i smilies? Om det ska det, pröva att ersätta ' med \\'

Inte nödvändigtvis. Men alltså den kod ja skrev i första inlägget funkar som den ska med :) ;) :(. Låt säga att jag bara vill lägga till :e de tycker man ju inte borde vara några problem?

Permalänk: https://www.webforum.nu/p/1646024

## #10 — pettsson, 2005-07-14T21:51Z

Första koden borde inte funka med smilies utan näsor tycker jag... Jag missar nåt här, jag återkommer i morgon med något mer vaket sinne ;) Att lägga till kolon-e om det funkar ska dock bara vara att lägga till e i denna \[\\)pPD\\}\\\].

Permalänk: https://www.webforum.nu/p/1646041

## #11 — pettsson, 2005-07-15T07:48Z

Nu laddade jag ner perl för att prova, och allt utom §-varianterna fungerar (fixade de skumma japanska, ex.vis ^\_^ funkade inte med orginalet) Att § inte vill kännas igen förstår jag inte, men det verkar vara något perl-specifikt. 

```
my $e = '[8§;:=%]'; # eyes
my $n = '[-oc*^]'; # nose
# smileys including asian-style (^^ ^_^' ^^; \o/)
if ($saying =~ /(>?$e'?$n?(O{2}|[\)eoOpPD\}\]>])|[\(\{\[<]$n?'?$e<?|\^[_o-]*\^[';]?|\\[o.]\/)/o) {
    $stats->{smiles}{$nick}++;
    $stats->{smileys}{$1}++;
    $stats->{smileynicks}{$1} = $nick;
}
```

Ovanstående funkar för mig på senaste perlversionen, 5.8.7.

Permalänk: https://www.webforum.nu/p/1646101

## #12 — Tengblad, 2005-07-15T10:38Z

> **pettsson skrev:**
>
> Nu laddade jag ner perl för att prova, och allt utom §-varianterna fungerar (fixade de skumma japanska, ex.vis ^\_^ funkade inte med orginalet) Att § inte vill kännas igen förstår jag inte, men det verkar vara något perl-specifikt. 
>
>
> ```
> my $e = '[8§;:=%]'; # eyes
> my $n = '[-oc*^]'; # nose
> # smileys including asian-style (^^ ^_^' ^^; \o/)
> if ($saying =~ /(>?$e'?$n?(O{2}|[\)eoOpPD\}\]>])|[\(\{\[<]$n?'?$e<?|\^[_o-]*\^[';]?|\\[o.]\/)/o) {
>     $stats->{smiles}{$nick}++;
>     $stats->{smileys}{$1}++;
>     $stats->{smileynicks}{$1} = $nick;
> }
> ```
>
> 
> Ovanstående funkar för mig på senaste perlversionen, 5.8.7.

Underbart, funkar kalas! Tackar  :D

Permalänk: https://www.webforum.nu/p/1646143

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/131314-ircstats-och-smileys
